#include <stdio.h>

// 这道题目是水仙花的变种,题目的思路想到了就很简单
// 题目要求: 求出五位数范围的所有的变种水仙花数
// 而变种水仙花是什么呢？ 让我们来解答一下吧
// 通常的水仙花数是这样的: 数字每位的立方加起来的和如果等于原数字,那这个数字就是水仙花数
// 但变种水仙花变了个法子: 数字的每位都左右拆分一次,然后所拆左右相乘,之后所有相乘的得数相加,如果得数为原数字就是变种水仙花数字
// 例如: 1461 = 1*461 + 14*61 + 146*1 , 所有位左右拆开后相乘之后的得数再相加得出的数字等于原数字,这个1461就是变种水仙花数字

int main ()
{

    for (int i = 10000 ; i < 100000 ; i++) // 设立循环,遍历所有的五位数的数字循环一遍
    {

        int sum = 0 ; // 每次循环设立一个变量来存放值

        for (int j = 10 ; j <= 10000 ; j = j * 10) // 设立循环,分割每位再相加
        {

            sum += (i / j) * (i % j) ; // 所有分割后相乘,再相加

        }

        if (sum == i) // 对比值,如果相符就打印
        {

            printf("%d " , i) ;

        }

    }
    
    return 0 ;

}